/*
 * State.java
 *
 * Created on March 27, 2007, 10:27 AM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package ai9hells.pgaibe.common.fsm;

import ai9hells.pgaibe.common.messaging.Telegram;

/**
 *
 * @author andre.bandarra
 */
public abstract class State<T> {
    public abstract void enter(T entity);
    public abstract void execute(T entity);
    public abstract void exit(T entity);    
    public abstract boolean onMessage(T entity, Telegram t);
}
